home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 August (Alt) / CHIP 2005-08.1.iso / program / guvenlik / syslinux-3.07.exe / com32 / lib / libgcc / __muldi3.S < prev    next >
Encoding:
Text File  |  2004-11-17  |  510 b   |  35 lines

  1. /*
  2.  * arch/i386/libgcc/__muldi3.S
  3.  *
  4.  * 64*64 = 64 bit unsigned multiplication
  5.  */
  6.  
  7.     .text
  8.     .align 4
  9.     .globl __muldi3
  10.     .type __muldi3,@function
  11. __muldi3:
  12.     push  %esi
  13. #ifndef REGPARM
  14.     movl  8(%esp),%eax
  15.     movl  %eax,%esi
  16.     movl  16(%esp),%ecx
  17.     mull  %ecx
  18.     imull 12(%esp),%ecx
  19.     imull 20(%esp),%esi
  20.     addl  %ecx,%edx
  21.     addl  %esi,%edx
  22. #else
  23.     movl  %eax,%esi
  24.     push  %edx
  25.     mull  %ecx
  26.     imull 8(%esp),%esi
  27.     addl  %esi,%edx
  28.     pop   %esi
  29.     imull %esi,%ecx
  30.     addl  %ecx,%edx
  31. #endif    
  32.     pop   %esi
  33.     ret
  34.     .size __muldi3,.-__muldi3
  35.